設計流暢介面 Interfaces that extend our minds(原則)

我們如何設計出能讀懂人心的介面?

方法是讓介面與我們的思維方式和行動方式保持一致。

因為我們大腦和身體一直處於動態變化的狀態,大腦會不斷對變化、刺激和思考做出反應。所以重要的不是讓介面本身變得流暢,而是需要能夠對大腦和身體的動態變化做出響應。

設計原則:流暢介面像我們一樣思考

1.即時響應與持續重定向(Instant Response and Constant Redirection):介面應當能夠立即響應使用者的輸入,並在使用者決定改變方向或中斷操作時,能夠靈活地適應。這種設計讓介面感覺更加靈活,增強了使用者與介面的連線感。

2.保持空間一致性(Maintain Spatial Consistency):在使用者介面設計中,元素的運動路徑應該保持一致性,以模仿現實世界中的空間感知。這種設計可以幫助使用者直觀地理解和預測介面元素的運動,從而提升使用體驗。

3.沿手勢方向提示(Hint in the Direction of the Gesture):介面應該透過微妙的提示,引導使用者沿著特定方向進行操作。這樣可以利用使用者的直覺,幫助他們更自然地發現和使用功能。

4.輕量化互動與放大輸出(Lightweight Interactions, Amplified Output):設計應當讓使用者能夠透過輕微的操作(如滑動或點選)實現強大的效果。這種輕量化的互動不僅減輕了使用者的操作負擔,還能提供令人滿意的使用反饋。

5.柔和的邊界與過渡(Soft Boundaries and Transitions):當使用者接近介面邊界或過渡時,介面應該透過柔和的反饋(如橡皮筋效果)來提示使用者,而不是突然停止。這種設計可以避免使用者感到操作的中斷或不連貫,提升介面的流暢感。

6.設計平滑的動態行為(Design Smooth, Dynamic Behavior):介面中的元素應當表現得像現實世界中的物體那樣,具備動態的、連續的行為,而不僅僅是預設的動畫。這種設計增強了使用者的互動感,使介面操作更加真實和自然。

這些原則共同作用,旨在創造一種與使用者的思維和行為高度契合的流暢介面,使使用者在操作時感覺介面就像是他們身體和思想的延伸。

Response 響應

核心概念:響應性是流暢介面的基礎。當我們使用工具時,工具必須能夠立即響應我們的操作,才能給我們帶來流暢和自然的感覺。這種即時響應能夠減少操作延遲,避免使用者感覺介面“脫節”或“不連貫”。

如果介面不允許這種中斷和重定向,使用者就必須在每次操作前仔細思考自己的每一步。這不僅降低了操作效率,還削弱了介面的直觀性和靈活性。

具體實現:蘋果花了很大功夫用在解決延遲感的問題上。iPhone被設計為能即時的感應到手指的每個微小的動作,他非常靈敏。因此響應對於蘋果和使用者都至關重要。即時響應要求時時刻留意,別讓工具反應慢了。不僅僅是滑動、點選、按壓..而是每次互動都要即時響應。

為了找到延遲點,我在這計過程中就參集中意力一直盯著⋯

連續的中斷和重定向(Redirection and Interruption)

核心概念:人類的思維和行動是動態和連續的,我們可以隨時改變主意或調整方向。為了使介面感覺自然,必須允許使用者在操作過程中隨時中斷或改變操作路徑,而不需要等待之前的操作完成。

具體實現:iPhone X 的手勢介面設計了一個完全可重定向的作業系統。例如,使用者可以在進行回到主螢幕的手勢時,隨時切換到多工處理,並在完成檢視後繼續回到主螢幕。

蘋果如何精準判斷使用者上滑時希望暫停(出現多工)還是退出的?使用計時器或等到手指減速到某個程度的一段時間後,再出現多工卡片?事實證明,這些方案都太慢了⋯結果發現,當暫停時,手指加速度會有一個巨大的峰值。實際上手指停得越快,系統就能越快地檢測到。此方案才能及時響應運動帶來的變化(從物理和現實世界中找到的簡單而準確的答案)

與思維同步的手勢

透過這種設計,使用者的操作可以與思維同步,減少了操作的線性性和侷限性。

Faster than thinking before doing(比思考後再行動更快):

這意味著手勢操作能夠與使用者的思維同步,使用者不需要在做出動作之前先思考該如何操作,因為手勢操作已經成為自然反應的一部分,幾乎是無意識地完成。

One gesture solves multiple problems(一個手勢解決多個問題):

一個設計良好的手勢可以在不同場景中解決多個操作需求。這種手勢不僅簡單而且高效,使用者無需學習多個複雜的手勢來完成不同任務。

Helps with discovery(有助於發現):

手勢設計應當直觀易用,使用者在使用過程中能夠自然地發現更多功能或操作方式,而不需要透過外部提示或指導。這使得使用者可以自發地探索介面功能。

Allows you to layer gestures at the speed of thought(允許你以思維的速度疊加手勢):

手勢操作可以與使用者的思維過程同步進行。使用者可以在不間斷的情況下連續執行多個手勢操作,這種操作流暢性提升了使用者體驗,使得介面操作更自然、高效。

空間一致性(Spatial Consistency)

核心概念:空間一致性是指介面元素在進入和離開視野時,應遵循一致的路徑。這種設計模仿了現實世界中的空間記憶,讓使用者能夠直觀地理解介面的變化。

如果介面在不同的狀態下沒有保持一致的路徑,使用者可能會感到迷惑和不安。這會使介面看起來不連貫,甚至是“破碎的”

具體實現:在iOS的導航設計中,當使用者點選列表中的某個元素時,該元素會從右側滑入螢幕,而當使用者點選返回按鈕時,元素會從右側滑出。這個對稱的路徑設計幫助使用者在操作中形成一致的空間感知。

如果不遵循這種一致性,如果變成滑下去就會變的很困惑

輕量化的互動(Lightweight Interactions)

核心概念:觸控互動應儘可能輕盈,以減輕使用者的操作負擔。同時,輕盈的輸入應伴隨較大的輸出反饋,以放大操作效果,提供令人滿意的使用體驗。

如果介面沒有這種輕量化的互動設計,使用者在操作時就需要施加更大的力氣或進行更多的操作步驟,這將大大降低使用的愉悅感和流暢性。

具體實現:一個短暫、輕盈的互動卻運用了所有的感測器技術來理解它。生成了一個包含手勢能量和動力的資料結果位置、速度、快慢、力量等一切關於這個手勢的慣性概況,根據這些資料才生成了“輕盈感”的操作體驗

例如,iPhone X的滾動就是個好案例,即使手指在螢幕上停留的時間很短,但系統卻保留了所有的動能,然後將他轉移到介面上,如果沒有這個?滑動一次就不會滾動的很遠。就需要費力的滑很久,操作成本非常高。

另外的案例是滑動回到主頁,使得操作流暢輕巧,同時符合多點觸控的特性(多手指操作)使得操作流暢輕巧,同時符合多點觸控的特性(多手指操作)使用者透過肌肉記憶,用手指輕鬆上滑彈回到主頁

暗示性:

當使用者在 iOS 的控制中心按壓模組時,模組會隨著按壓力度的增加逐漸放大,暗示使用者可以透過按壓來展開更多功能。

人類總習慣預測接下來要發生的事。總會根據已經發生的事來預測接下來的情景,如果介面也能具備這種預測感就好了⋯想象一下,這裡有兩個狀態,初始態和最終態⋯ 想要將這兩個狀態之間平穩進行過渡,可以透過手勢或者動畫。

控制中心是一個很好的案例,控制中心的這些模組,當用手指按壓時,它們會向著手指方向(最終方向)向上和向外生長,最後彈出來。這就是暗示。讓手勢互動感覺符合預期,且是可被預測的。

橡皮筋效果(Rubberbanding)

核心概念:橡皮筋效果是透過柔和的方式指示介面邊界的存在。當使用者觸碰到介面的邊緣或某個操作的極限時,介面會透過彈性反饋告訴使用者“已經到達邊界”,同時保持與使用者動作的同步。

具體實現:在iOS中,當使用者在滾動列表時拉到內容的末端,介面會輕微彈回,告知使用者已經到達底部。這種彈性反饋讓使用者感覺介面始終在理解和響應他們的操作。

如果沒有這種效果,使用者可能會感到“撞牆”般的僵硬體驗,並且難以分辨是裝置出現了故障,還是操作已經達到邊界。

“橡皮筋”也適用於一個元素平滑過渡到另一個元素的過程

用手指上滑來顯示手機底部的導航欄(dock)時。導航不會突然停下來,然後後面的應用在往上運動他們是保持連貫和流暢的交接,沒有突然的停頓或切換

平滑的動態(Smooth Dynamic Behavior)

核心概念:介面中的運動應當是平滑且連續的,即使在動態行為(如加速度或減速)發生變化時,也應保持無縫的過渡。這種設計確保使用者在操作時感覺介面動作自然流暢。

具體實現:例如,在iPhone X中,當使用者啟動一個應用程式時,應用圖示會彈性地擴充套件成全屏,關閉時也會以相反的方向彈回。這種設計透過在每一幀中增加額外的視覺資訊,使運動看起來更為平滑。

重要性:透過設計平滑的動態行為,介面能夠給使用者帶來更加連貫和直觀的操作體驗,減少由於不連續的運動帶來的“卡頓”或“跳幀”現象。

案例:這個動畫給我們的感覺在上下移動,但不真實因為看到的許多過程幀讓我們感覺它在動

這裡展示了動畫的全部幀,我們觀察到,這裡的相鄰幀之間的位置變化最大的

其實這裡就是讓人感覺不流暢的地方,會出現視覺上的閃爍,原因就是因為兩幀之間的差異太大了。

兩球都是每秒30幀的在動,左球看起來比右球更平滑一些,因為右邊的那個移動得太快,導致了閃爍,右邊的感覺有點不對勁,很不平滑。這個案例說明了幀率不一定是造成不流暢感的唯一原因,還有一種可能是每幀的具體內容。

所以不要不流暢就直接認為是幀率的問題(幀率越高越流暢,60fps是符合人眼感知能力和技術的平衡點)當提升到每秒60幀時,會感覺比30幀的快一點,動畫流暢一點,

如果想動的更快還不出現閃爍該怎麼做呢?我們用動態模糊的技巧,動態模糊就是模擬眼睛和相機的原理,在每一幀加入更多動畫的資訊,借鑑2D動畫和影片遊戲中的技術,透過伸展每一幀中的內容,使其在呈現出在運動時彈性(形變)、模糊(狀態)的樣子

可以看到這些技術都是為了加入更多在動畫過程中的資訊和變化,在iPhone 10上使用了這個運動伸展技術,當開啟應用時,圖示會像彈簧一樣往下伸展,變成應用的樣子。關掉應用時,它又會往相反的方向拉伸,這樣做的目的就是為了在每個運動幀之間提供那麼額外的運動資訊,使其看起來更加平滑順暢

使用行為代替動畫(Use Behavior Instead of Animation)

核心概念:設計師應更專注於使用者行為而非動效,而不僅僅是預設好的動畫。在現實世界中行為會影響事物的變化,而運動曲線不行。動效是行為與介面的交流媒介,所以設計師要從行為的角度思考動效

具體實現:例如,iPhone的照片應用中,比如照片的質量較小,滑動時感覺較輕。而應用的質量更大,滑動感要更重一些

這種行為設計讓使用者感到介面更加真實和具有互動性,避免了傳統動畫帶來的“機械”感。